using System;
using Volo.Abp.Application.Dtos;
using Matrix.ServiceDiscovery.Enums;

namespace Matrix.ServiceDiscovery.Contracts.Dtos
{
    /// <summary>
    /// 获取服务列表输入参数
    /// </summary>
    public class GetServiceListInput : PagedAndSortedResultRequestDto
    {
        /// <summary>
        /// 服务名称过滤
        /// </summary>
        public string? Filter { get; set; }

        /// <summary>
        /// 服务状态过滤
        /// </summary>
        public ServiceStatus? Status { get; set; }

        /// <summary>
        /// 服务类型过滤
        /// </summary>
        public ServiceType? ServiceType { get; set; }

        /// <summary>
        /// 服务分组过滤
        /// </summary>
        public string? ServiceGroup { get; set; }

        /// <summary>
        /// 是否只包含健康实例
        /// </summary>
        public bool? OnlyHealthy { get; set; }
    }
}